package com.xh.bussiness.practice.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import com.xh.core.model.SuperEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 作业表
 * </p>
 *
 * @author Pitt
 * @since 2021-01-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tb_practice")
public class Practice extends SuperEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 教师id
     */
    private String userId;

    private String title;

    /**
     * 作业类型：（1：普通作业，2：题库作业）
     */
    private Integer type;

    /**
     * 学科id
     */
    private String subjectId;

    /**
     * 学科名称
     */
    private String subjectName;

    /**
     * 试卷id
     */
    private String paperId;

    /**
     * 提交方式（0：不限；1：可上传图片；2：可上传视频；3：可上传录音）
     */
    private String submitType;

    /**
     * 开始时间
     */
    private java.util.Date startTime;

    /**
     * 结束时间
     */
    private java.util.Date endTime;

    /**
     * 提醒时间
     */
    private java.util.Date remindTime;

    /**
     * 通知定时cron表达式
     */
    private String timingCron;

    /**
     * 发布时间
     */
    private java.util.Date publishTime;

    /**
     * 班级id集合
     */
    private String classIds;

    /**
     * 班级名称集合
     */
    private String classNames;

    /**
     * 状态（0：草稿，1：已发布；2：未作答，3：已作答)
     */
    private Integer status;

    /**
     * 未提交总数
     **/
    @TableField(exist = false)
    private Integer uncommittedCount;
    /**
     * 已提交总数
     **/
    @TableField(exist = false)
    private Integer committedCount;
    /**
     * 已批改总数
     **/
    @TableField(exist = false)
    private Integer checkedCount;
    /**
     * 草稿总数
     **/
    @TableField(exist = false)
    private Integer draftCount ;

    /**
     * 学生总数
     **/
    @TableField(exist = false)
    private Integer studentCount ;

    /**
     * 发布学生
     **/
    @TableField(exist = false)
    private Integer sendCount ;
}
